package com.restfb.etl.tareas;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.List;

import com.restfb.etl.mundo.Locacion;
import com.restfb.etl.mundo.Usuario;

public class TareaCreacionCSVUsuarios 
{
	List<Usuario> usuarios;
	public static final String RUTA="./data/otros/usuarios.csv";
	public TareaCreacionCSVUsuarios(List<Usuario> nUsuarios)
	{
		
		usuarios=nUsuarios;
			
	}
	
	public void execute()
	{
		try {
			PrintWriter pw=new PrintWriter(new File(RUTA));
			//Iprimir encabezados
			pw.println("usuario_id_facebook,usuario_nombre,usuario_login,usuario_fecha_nacimiento,usuario_ciudad_actual,usuario_pais_actual,usuario_ciudad_origen,usuario_pais_origen,usuario_estado_civil,usuario_religion,usuario_filacion_politica,usuario_musica_favorita,usuario_tv_favorito,usuario_libro_favorito");
			for (Usuario cl : usuarios)
			 {
				Locacion origen=cl.hometown_location;
				Locacion actual=cl.current_location;
				String ciudadActual="";
				String paisActual="";
				String ciudadOrigen="";
				String paisOrigen="";
				if(origen!=null)
				{
					ciudadOrigen=origen.city;
					paisOrigen=origen.country;
				}
				if(actual!=null)
				{
					 ciudadActual=actual.city;
					
					 paisActual=actual.country;
				}
				
				if(cl.music!=null)
				{
					cl.music=cl.music.replace(",","-");
				}
				if(cl.tv!=null)
				{
					cl.tv=cl.tv.replace(",", "-");
				}
				if(cl.books!=null)
				{
					cl.books=cl.books.replace(",","-") ;
				}
				pw.println(cl.uid+"," +cl.name+"," +cl.username +"," +cl.birthday_date+"," +ciudadActual+"," +paisActual+"," +ciudadOrigen+"," +paisOrigen+"," +cl.relationship_status+"," +cl.religion+"," +cl.political+"," +cl.music+"," +cl.tv+"," +cl.books );
				
			 }
			
			pw.close();
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			System.err.println("Error guardando el archivo csv de usuarios");
			e.printStackTrace();
		}
		
		
		 
	  	    	
	}
	
	
}
